home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Cream of the Crop 25
/
Cream of the Crop 25.iso
/
image
/
mufus54d.zip
/
MUFUSION.DOC
< prev
next >
Wrap
Text File
|
1996-04-04
|
17KB
|
402 lines
Documentation for MUFUSION.
This is _FREE_ software.
If you are happy with this software, please give a copy to anyone you
think might find it useful. If you find any problems, please contact me
(details below).
This project is funded entirely from the Cardiology's Departmental
funds. Donations to support further work will be well received (see
also the note below on commercial versions).
Description:
Mufusion is a terminal program which emulates a Microfusion MF30
terminal, as used with McDonnell Douglas hospital information systems
software. It provides 20 odd screens of backpaging, and extensive
facilities for data capture. It should work with any text video mode
supported by your hardware.
It is compiled in Borland Pascal v7.0, and was adapted from a
videotext terminal program by Jim Nutt, which is in the public domain.
It has also been compiled in Microsoft Pascal v1.0 and Turbo Pascal
v5.0, but not extensively tested.
Most of the code in MUFUSION.PAS is copyright (C) Cardiology
Department, Royal Melbourne Hospital. Some parts were written in my
own time and are copyright to me personally.
The source code for MUFUSION is available by special arrangement.
We also have an int14 interface version of this package which will
work with an asychronous comms server across a network. This version
is available from us, currently for $1000 for a site licence. (We'd
like to try an recover some of our development costs.) This package
works with Fresh Technologies Asynchronous Communications server, and
with NSCA's NET14 TCP/IP interface (on UNIX machines).
Mufusion for Windows is currenly in development, and a useable
(thought incomplete) version is available. Mufusion for Windows
supports IP via the Winsock standard and serial comms. Pricing is
$2000 for a site license, or $1000 to licensees of the int14 version.
Startup:
Mufusion by default uses COM1: at 9600 baud. The complete syntax for
mufusion is
MUFUSION [<port>[/irq] [<speed>[<parity>][<databits>][stopbits]
[ <fgcol>[ <bgcol> [ <prcol>[ printer [macro]]]]]]]
All parameters are optional.
The port can be a number from 1 to 4 (defaults to COM1:). If the port
can not be found, the program will give an error message and set the
DOS errorlevel to 1. A non-standard interrupt can be specified. This
may hang your machine if incorrectly used. If you don't know what
you're doing, leave it alone!
The speed can be one of 110, 150, 300, 600, 1200, 2400, 4800, 9600,
19200, 38400 or 57600 (defaults to 9600). Parity and number of data
and stop bits can be specified and default to none, eight and one.
The foreground color is a number from 0 to 7 (where 0=black, 1=blue,
2=green, 3=cyan, 4=red, 5=magenta, 6=brown, 7=white). The default is
green.
The background color is likewise a number between 0 and 7, the default
is black.
A different color can be specified for protected mode text. This
defaults to cyan.
With a monochrome graphics adaptor, the color settings have no effect.
The printer can be any DOS device (LPT1, LPT2, LPT3, COM1, COM2, NUL)
or a file name. If not specified, it defaults to LPT1. If the
device/file name is invalid, a warning will be given. Do not send
printer output to the port you are using for communications.
A macro file can be specified for startup. If none is specified, the
file mufusion.mfm (or mufint14.mfm, or whatever) from mufusion's
directory is used if it exists.
The environment variable MUFO allows further tweaking of the program's
behavior. Currently the only option available is PO, which causes
printer output not to be sent to screen. To enable this, put the line
SET MUFO=PO in the file autoexec.bat.
A .PIF file is provided for running mufusion under windows.
To use 132 column mode, MUFUSION needs to know what screen mode to
select for your video BIOS. To this find out, look in the manual that
came with your video card for a list of modes, or use the accompanying
program TESTVID. The command SET WVM=<number> at the DOS prompt
stores this information for MUFUSION. Beware, this number must be
specified in decimal, while your manual may give it in Hex. Values of
35, 83, 85 and 96 may be worth trying. When you've found the correct
mode, put the SET command in your AUTOEXEC.BAT file.
Commands:
The current command list is as follows:
<ALT>-<C> Open/close a capture file. With a capture file
on, all incoming characters are saved in the
file. The bottom right corner of the display
flashes to indicate capture is on.
<ALT>-<D> Dial with a Hayes compatible modem. Precede the
number with "P" or "T" to force pulse or tone
dialing.
<ALT>-<E> Select emulation (debugger, microfusion, wordmate
or prism).
<ALT>-<F> Send a formfeed to the printer and flush the
printer buffer.
<ALT>-<H> Hang up the modem.
<ALT>-<I> Dump the screen to an image file, useful for
preparing documentation.
<ALT>-<M> Play, record or do various things in macro files.
<ALT>-<O> Shell to DOS, allowing DOS operations while
preserving the terminal screen.
<ALT>-<P> Toggle the printer on/off. The bottom right
corner of the screen is brightened to indicate
when the printer is on.
<ALT>-<Q> Prints the screen (same as PrtSc key).
<ALT>-<R> Run a DOS command (for running file transfer
programs, other emulators, editors, etc.)
<ALT>-<S> Set printer. Allows selection of a different
printer or for printing to be directed to a
file. This is useful for downloading reports to
the DOS disk, for later editing with a word
processor or further manipulation with a
spreadsheet.
<ALT>-<V> Select a video mode. The screen modes used for
wide, high and big settings are defined by the
environmental variables WVM, HVM and BVM. You
need to tell the host the new screen size to use
this with reports (see MUFUSION.SIZ).
<ALT>-<X> Exit the terminal emulator (without hanging up
the modem).
PgUp or <ALT>-<F7> Page back.
PgDn or <ALT>-<F8> Page forward (when paged back).
Home Line back.
End Line forward (when paged back).
<CTRL-BREAK> Send a break signal.
Print Screen Print the screen to the specified output device.
Other keys (apart from the obvious ones):
<ALT>-<F1> Send ^[.
<ALT>-<F2> Send ^\.
<ALT>-<F3> Send ^^.
<ALT>-<F4> Send ^].
<ALT>-<F5> Send ^@.
<ALT>-<F6> Send ^@.
<ALT>-<F9> Clear the screen.
<ALT>-<F10> Menu of miscellaneous extras.
<CTRL>-<F1..F10> Play macro file called F1.MFM .. F10.MFM
<Left arrow> or Send chr(20)
<CTRL>-<left arrow>
<Right arrow> or Send chr(22)
<CTRL>-<right arrow>
<Up arrow> Send chr(24)
<Down arrow> Send chr(18)
<CTRL>-<Home> Send chr(23)
<CTRL>-<PgUp> Send chr(25)
<CTRL>-<PgDn> Send chr(19)
<CTRL>-<End> Send chr(17)
<Ins> Send chr(16)
<Del> Send chr(14)
<Shift-Tab> Send chr(15)
<CTRL>-<backspace> Send chr(127)
Implementation:
Mufusion sends characters with parity set to none. Received
characters have the parity bit stripped before display, but no parity
is the prefered line setting. If the host does not support XON/XOFF
flow control, mufusion may drop characters, particulary when printing
to a slow printer or capturing data onto a floppy disk. Not all of
the microfusion terminal control codes are implemented, those that are
are listed below. All these functions should behave as for an MF30
terminal. If they don't, please let me know.
Control Codes
EOT ( 3) Printing off
BELL ( 7) Bell
BS ( 8) Back space destructive
LF (10) Line feed
VT (11) Vertical Address lead-in
FF (12) Master clear
CR (13) Carriage return
DLE (16) Horizontal Address lead-in
SUB (26) Clear screen
Escape Sequences
SP Destructive backspace
! Continuous bell
& Protect off
' Protect on
( Full intensity
) Half intensity
* New line
+ Master clear
, Clear to end of page
- Clear to end of line
1 Non-reverse video
2 Reverse video
5 Bell
< Cursor left
= <y> <x> Position cursor row Y col X
> Cursor right
@ Send a carriage return
E Insert line
F Expanded facilities - some implemented, see below
J Clear to end of page
K Clear to end of line
L Cursor down
M Cursor up
N Flashing on
O Flashing off
P Print the screen
R Delete line (printer on if prism kludge on)
T Clear to end of line (printer off if prism kludge on)
Y Clear to end of page
Z Cursor home
[c Turn prism kludge on.
[<14h Go to 80 column mode and clear screen.
[<14l Go to 132 column mode and clear screen.
b goto start of next line
e <x> <c> Repeat character x for count c
k Clear to end of page
o Clear block
p Clear field
x MUFUSION special extensions, see below
Expanded Facilities
: Flush printer buffer.
; Print n copies.
A ASCII printer ON
B Printer OFF
C Binary printer ON
E Half-duplex
F Full-duplex
M Reposition cursor
W Define function keys.
MUFUSION special extensions
8 Use 8 data bits (until next screen clear).
? C Respond with 'Y' or 'N' to indicate color
availability.
? H Respond with number of rows on screen.
? V Respond with version number.
? W Respond with number of columns on screen.
? p Respond with 'Y' or 'N' to indicate if printer
is on.
B Select large screen mode.
C Select text color (foreground color + 16 *
background color)
H Select high screen mode (42/49 rows, 80 columns).
P <name> <cr> Select printer device.
S Select small screen mode (24 rows, 80 columns).
W Select wide screen mode (24 rows, 132 columns).
b <y1> <x1> <y2> <x2> <attr> <style>
Draw a box from x1,y1 to x2,y2 with specified
PC attribute is specified style (0-8). Sending
attr = 0 leaves the color unchanged.
c Turn manual coloring off.
s l <cr> Load saved screen from buffer.
s l <name> <cr> Load saved screen from file via buffer and send
back status code (=0 for no error). Screen names
can be up to eight characters long and may contain
any of the characters A-Z, 0-9 and $. The screen is
save in a file with with the extension .MSD and
prefixed with a path read from the environment
variable SDP, or the current directoy if SDP is
empty.
s r <name> <cr> Retreive saved screen from file via buffer, delete
file and send back status code (=0 for no error).
s s <cr> Save screen to buffer.
s s <name> <cr> Save screen to buffer, write buffer to file and
send back status code (=0 for no error).
Keyboard Macros
Keyboard macro files are files of Turbo Pascal keyboard codes, except
that a linefeed is inserted after each carriage return character when
writing a macro, and the character after a carriage return is ignored
when reading a macro. Text files can be used as macros, and any macro
file conataining only printable characters (no commands, backspaces
etc) is a text file and can be edited with any text editor. The macro
terminates at the first end-of-file (^Z) character.
After a printable character (ascii space to tilda) is sent, the macro
pauses until that character is echoed. If the character fails to echo,
Alt-M C can be used to continue the macro, or Alt-M S to stop it.
Because they're not echoed, passwords can not simply be embeded in
macro files. The Alt-M I function can, however, be used to prompt the
user for a password which is then sent to the host. If you need to
send a printable string which won't be echoed, the Alt-M T function
can be used, which transmits characters at 10ms intervals without
waiting for them to echo.
Because most reports will contain the character which triggered them,
macros have a tendency to get ahead of the host while a report is
generated. The Alt-M W function forces the macro to pause until the
nominated string is received from the host.
The macro can be paused for user input using Alt-M I, or can branch to
another macro under user control using Alt-M A.
Acknowledgments:
Thanks is due to the following people;
Jim Nutt, who wrote the original teletext terminal emulator on which this
is loosely based.
Philip R. Burns, Alan Bishop, C. J. Dunford, Michael Quinlan, Gene
Harris and Michael Quinlan who wrote various parts of the asynchronous
communication port handling library used by this program.
Robert Murton, Peter Coventry, Andrew McKenzie, Ron Nash, Louis
Eilermann, Neil McQuinn, Danny O'Callaghan, Paul Oppy, Joe Bainbridge
Tim Naylor, Stuart Pendrich and Phil Hepner who have helped with testing
the code and tracking down problems.
The Intensive Care Unit at RMH, who supplied a copy of Turbo Pascal.
Health Computing Sevices, who have provided a copy of Fresh Technology's
Modem Assist for the development of the INT14 version of MUFUSION, and
Irene Pearey, Rhonda Whitfield and Barry Rogers, who helped arrange
this.
Tim McLean who supplied the vital clue for making 132 character video
mode work with Turbo Pascal, and for suggestions for extra features.
Warren Dickins for his help in writing a POSH terminal driver for
MUFUSION. Support for the POSH driver has now been taken over by
Dickins software, and it should be obtained from them.
David Morley for his assistance in writing a TERMCAP.
The Austin Hospital, who donated a hard disk for my home computer so I
can run Borland Pascal.
Comments, distribution:
Please send any comments to me, Peter Summers, c/- Cardiology Department,
Royal Melbourne Hospital, 3050, phone (+613/03) 9342 8727, fax (+613/03)
9347 2808 or email peter@cardiology.medrmh.unimelb.edu.au. Suggestions
for enhancements are welcomed, though I don't promise to implement them.
A mailing list now exists for questions and answers about mufusion. To
subscribe to this list, send a message with the first line "subscribe
mufusion" to maiser@cardiology.medrmh.unimelb.edu.au.
Updates of this code are regularly posted to the SIMTEL archives, and
can be obtained from oak.oakland.edu or archie.au by FTP.
Blatant Advertising:
Cardiology at RMH also has cardiology patient record keeping systems for
echocardiographs, ambulatory monitor, exercise test, catheterisation and
ECG reports, a stock control program, an equipment database program and
an electronic mail program, all written in Clipper, which we would like
to make available to others (for a price). We are willing to sell
source code licenses for these packages. Please call me if you are
interested.